package com.flejay.dreamrecruiter.dao;

import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.flejay.dreamrecruiter.model.SubTag;
import com.flejay.dreamrecruiter.model.Tag;

/**
 * 
 * @author Victor Fleurant
 *
 */
public interface IConfigurationLoaderDao {

	public enum REGEX_TYPE{
		FINDER,
		STOPPER
	};
	
	/**
	 * Load configuration file with the specified mode and language
	 * 
	 * @param mode
	 * @param language
	 * @return
	 */
	List<Tag> loadTagConfiguration(final String mode, final String language);

	/**
	 * Only for test purposes
	 * 
	 * @param path
	 * @return
	 */
	List<String> extractTagsFromVerfiedCV(String path);

	/**
	 * Only for test purposes
	 * 
	 * @return
	 * @throws IOException
	 */
	List<File> loadVerificationCV() throws IOException;

	Map<String, List<SubTag>> loadSubTagsConfiguration(String conf);
	
}
